package chap1;

import java.io.FileWriter;
import java.io.IOException;
import java.util.Set;
import java.util.TreeSet;

public class SplitEngThread implements Runnable {
    private String name;       // 表示线程的名称
    private String fileContent;       // 表示线程的名称

    public SplitEngThread(String name, String fileContent) {
        this.name = name;      // 通过构造方法配置name属性
        this.fileContent = fileContent;
    }
//    https://www.cnblogs.com/larrylawrence/p/3517897.html

    public void run() {  // 覆写run()方法，作为线程 的操作主体
//        String  inFilePath="Z01-Example.txt";
//        try(Scanner scanner=new Scanner(inFilePath)){
//            String line = scanner.nextLine();
//        }
//        UploadTh
//        Set<String> engs = new TreeSet<>();
////        for (int i = 0; i < 10; i++) {
////            System.out.println(name + "运行，i = " + i);
////        }
//        StringBuilder tmpEng = new StringBuilder();
//        for (int i = 0; i < fileContent.length(); i++) {
////            char c = fileContent.charAt(i);
////            if()
//            char ch = fileContent.charAt(i);
//
//            if (ch >= '0' && ch <= '9') {
//
////                digitCount++;
//
//            } else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
//
////                engishCount++;
//
//                tmpEng.append(ch);
//            } else {
//
////                chineseCount++;
//                engs.add(tmpEng.toString());
//                tmpEng = new StringBuilder();
//
//            }
//        }
//
//        try(FileWriter fileWriter=new FileWriter("eng_dic.txt")){
//            fileWriter.write(String.valueOf(engs));
//        } catch (IOException e) {
//            e.printStackTrace();
//        }



//        String fileContent = readFile();
        Set<String> engs = new TreeSet<>();
//        for (int i = 0; i < 10; i++) {
//            System.out.println(name + "运行，i = " + i);
//        }
        StringBuilder tmpEng = new StringBuilder();
        for (int i = 0; i < fileContent.length(); i++) {
//            char c = fileContent.charAt(i);
//            if()
            char ch = fileContent.charAt(i);

            if (ch >= '0' && ch <= '9') {

//                digitCount++;

            } else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {

//                engishCount++;

                tmpEng.append(ch);
            } else {

//                chineseCount++;
                String eng = tmpEng.toString();
                if (!eng.equals("")) {
//                    engs.add(tmpEng.toString());
                    engs.add(eng);

                }
                tmpEng = new StringBuilder();

            }
        }

        try (FileWriter fileWriter = new FileWriter("eng_dic.txt")) {
            fileWriter.write(String.valueOf(engs));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
